package redis

import (
	"github.com/piaohao/godis"
)

type RedisPool struct {
	Conn       *godis.Redis
	FollowConn *godis.Redis
	FansConn   *godis.Redis
	SendConn   *godis.Redis
}

func ConnRedis() *godis.Redis {
	option := &godis.Option{
		Host:     "127.0.0.1",
		Port:     6379,
		Password: "yougause",
		Db:       1,
	}
	//建立连接池
	pool := godis.NewPool(&godis.PoolConfig{}, option)
	//取连接池中的一个连接给客户端操作
	redis, _ := pool.GetResource()
	return redis
}

//关注缓存，DB1
func FollowDb() *godis.Redis {
	option := &godis.Option{
		Host:     "127.0.0.2",
		Port:     8000,
		Password: "yougause",
		Db:       0,
	}
	pool := godis.NewPool(&godis.PoolConfig{}, option)
	//取连接池中的一个连接给客户端操作
	redis, _ := pool.GetResource()
	return redis
}

//粉丝缓存,DB2
func FansDb() *godis.Redis {
	option := &godis.Option{
		Host:     "127.0.0.5",
		Port:     8000,
		Password: "yougause",
		Db:       1,
	}
	pool := godis.NewPool(&godis.PoolConfig{}, option)
	//取连接池中的一个连接给客户端操作
	redis, _ := pool.GetResource()
	return redis
}

//粉丝缓存,DB2
func SendDb() *godis.Redis {
	option := &godis.Option{
		Host:     "127.0.0.3",
		Port:     8000,
		Password: "yougause",
		Db:       2,
	}
	pool := godis.NewPool(&godis.PoolConfig{}, option)
	//取连接池中的一个连接给客户端操作
	redis, _ := pool.GetResource()
	return redis
}

var (
	R RedisPool
)

func init() {
	R.Conn = ConnRedis()
	R.FollowConn = FollowDb()
	R.FansConn = FansDb()
	R.SendConn = SendDb()
}
